Skip to content

Fix for new rustore update - #142

Merged
npinaev merged 2 commits into
Dynamic-Mobile-Security:mainfrom
SergeyOstrouhov:main
Aug 19, 2026
Merged

Fix for new rustore update#142
npinaev merged 2 commits into
Dynamic-Mobile-Security:mainfrom
SergeyOstrouhov:main

Conversation

@SergeyOstrouhov

Copy link
Copy Markdown

No description provided.

SergeyOstrouhov and others added 2 commits August 19, 2026 15:51
Запросы к backapi RuStore падали с пустым HTTP 419, из-за чего
--distribution_system rustore не работал совсем.

Значение 2000000000 было выбрано в расчёте на то, что RuStore проверяет
только нижнюю границу (247) и принимает любое большее число, поэтому
"never needs bumping". Это предположение больше не верно: сервер
проверяет диапазон, и превышение верхней границы даёт пустой 419.

Замеры по applicationData/overallInfo:
  нет заголовка / не число  -> 400
  < 247                     -> 417
  247 … 1_100_000           -> 200 стабильно (12/12)
  1_150_000                 -> 200 лишь 4/12
  2_000_000_000             -> 200 лишь 5/20

Инстансы бэкенда сконфигурированы неоднородно: одно и то же значение то
проходит, то нет. Поэтому баг выглядел плавающим — до сих пор запросы
иногда попадали на инстансы без верхней границы. Судя по заголовкам
ответа (Server: kittenx, набор Spring Security), 419 отдаёт само
приложение, а не edge/WAF; Retry-After отсутствует.

Изменения:
- значение по умолчанию 1000000: с запасом над минимумом 247 и
  уверенно внутри принимаемого диапазона;
- request_with_ver_code() оборачивает оба вызова: на 417/419 значение
  повторяется до 3 раз (лечит неоднородность фарма), затем берётся
  следующее из VER_CODE_FALLBACKS. Ранее download-link не имел защиты
  вообще, хотя тоже мог попасть на строгий инстанс;
- в сообщения об ошибках 417/419 добавлена подсказка про границу и
  MDAST_RUSTORE_VER_CODE — прежний пустой "body:" не давал ничего для
  диагностики;
- 4 регресс-теста, включая проверку границ значения по умолчанию.

Точная верхняя граница в коде не зашита — она может двигаться, для
этого есть fallback-лестница и override через MDAST_RUSTORE_VER_CODE.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Бамп версии в __init__.py, setup.py и docker-тегах после фикса
диапазона ruStoreVerCode.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@npinaev
npinaev merged commit 4d55a83 into Dynamic-Mobile-Security:main Aug 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants